/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.camachosanchez.reportes;

import com.camachosanchez.bean.InspeccionEquipo;
import com.camachosanchez.util.ReportUtil;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;

/**
 *
 * @author Zully
 */
public class ImprimirSalidaEntrada {
     
    public void generarReporte(InspeccionEquipo inspeccion) {
        Document document = new Document(PageSize.A4, 0, 0, 50, 50);
        try {
            SimpleDateFormat formatoDeFecha = new SimpleDateFormat("yyyy-MM-dd");
            
            PdfWriter.getInstance(document, new FileOutputStream("reportes/inspeccion_" + inspeccion.getId() + ".pdf"));
            document.open();
            document.addTitle("Inspeccion: " + inspeccion.getId());
            
            float[] anchoColsT = {1.1f, 0.6f};//version prueba
            PdfPTable tablaTitulo=new PdfPTable(anchoColsT);
            tablaTitulo.setSpacingAfter(20f);
            tablaTitulo.setHorizontalAlignment(Element.ALIGN_CENTER);
            tablaTitulo.setWidthPercentage(90);

            PdfPCell celda =new PdfPCell (new Paragraph("Inspeccion " + inspeccion.getId(),
            FontFactory.getFont(BaseFont.HELVETICA,18,Font.BOLD,BaseColor.BLACK)));
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setBorderWidth(0);
            tablaTitulo.addCell(celda);

            tablaTitulo.addCell(ReportUtil.getCelda("TireSoft 2.0 (Versión de prueba)",1,1,BaseColor.WHITE,0,0,10,1));//version prueba
            document.add(tablaTitulo);
            
            float[] anchoColsSE = {1.7f, 1.8f, 1.5f, 2f, 1.5f, 2f, 1.5f, 2f};
            PdfPTable tablaSE=new PdfPTable(anchoColsSE);
            tablaSE.setWidthPercentage(90);
            
            document.add(tablaSE);
            
            document.close();
            
            File pdfFile = new File("reportes/inspeccion_" + inspeccion.getId() + ".pdf");
            if (Desktop.isDesktopSupported()) {
                Desktop.getDesktop().open(pdfFile);
            } else {
                JOptionPane.showMessageDialog(null, "No se puede obtener la vista previa.", "Error al abrir el archivo", JOptionPane.ERROR_MESSAGE);
            }
        } catch (Exception ex) {
            System.err.println(ex.getMessage());
        }
    }
    
}
